import java.math.BigDecimal;
import java.util.Deque;
import java.util.LinkedList;
import java.util.Scanner;

public class TestDay33 {


    //剪花布条
    public static void main1(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNext()){
            String str1 = scanner.next();
            String str2 = scanner.next();
            //两个栈实现
            //全部入栈
            int count = 0;
            int z1 = 0;//记录小花布条的下标
            int z2 = 0;//记录花布条的下标
            //两个都不为空就进入循环
            while (z1 != str1.length()){
                z2 = 0;
                if(str1.charAt(z1) == str2.charAt(z2)){
                    //如果队首顶元素一样
                    //z不能越界
                    while (z2 != str2.length() && z1 != str1.length() &&str1.charAt(z1) == str2.charAt(z2)){
                        z1++;
                        z2++;
                    }
                    if(z2 == str2.length()){
                        count++;
                    }
                }else {
                    z1++;
                }
            }
            System.out.println(count);


        }
    }

    //客似云来
    public static void main(String[] args) {
         Scanner scanner = new Scanner(System.in);
         while (scanner.hasNext()){
             int m = scanner.nextInt();
             int n = scanner.nextInt();
                 BigDecimal decimal = new BigDecimal(0);
                 BigDecimal a = new BigDecimal(0);
                 BigDecimal b = new BigDecimal(1);
                 for (int i = 0; i <= n ; i++) {
                     if(i >= m){
                         decimal =  decimal.add(a);
                     }
                     BigDecimal tmp = a;
                     a = a.add(b);
                     b = tmp;

                 }
                 System.out.println(decimal.toString());
         }
    }
}
